草庐IT

open SSL

全部标签

php - 回显 OpenSSL 的所有预定义常量

在PHP5.x中是否可以回显所有predefinedconstantsOpenSSL例如通过循环? 最佳答案 get_defined_constants()将返回所有已定义的常量,您可以从中提取带有OpenSSL前缀的常量。foreach(get_defined_constants()as$c=>$val){if(strpos($c,"OPENSSL_")===0||strpos($c,"PKCS7_")===0||strpos($c,"X509_")===0){echo$c."\n";}}

php - 哪个openssl版本支持php中的sha256

我为我们的客户编写了一个简单的php库。这个库使用openssl验证和签名方法,使用SHA256算法。我认为这种对SHA256的算法支持对于PHP和openssl来说是一种新的。但是不知道从哪个版本开始支持SHA256的。这会导致使用早期版本的openssl和php的客户端出现一些问题。而且我找不到上面指定的版本。那么openssl是什么版本开始支持sha256的rsa签名验证呢?提前致谢。 最佳答案 由于PHPDOCSOPENSSL_ALGO_SHA256常量vas在PHP5.4.8中首次添加。我在尝试验证SHA256时也遇到过这

php - 在 PHP 中生成 RSA 私有(private) SSH key

我已经用PHPOpenSSL生成了一个SSHkey:$rsaKey=openssl_pkey_new(array('private_key_bits'=>4096,'private_key_type'=>OPENSSL_KEYTYPE_RSA,));$privKey=openssl_pkey_get_private($rsaKey);openssl_pkey_export($privKey,$pem);这导致$pem看起来像这样:-----BEGINPRIVATEKEY-----MIIJQwIBADANBgkqhkiG9w0BAQEFAASCCS0wggkpAgEAAoICAQC8gg

php - 使用 Blowfish 和 ECB 将 mcrypt 迁移到 OpenSSL

我一辈子都想不出如何将我遗留的mcrypt代码迁移到OpenSSL。我用CBC为Blowfish和CBC为Rijndael工作,但是Blowfish和ECB却让我望而却步。是的,我读了MovingfrommcryptwithBlowfish&ECBtoOpenSSL我尝试对数据进行零填充,而不是对数据进行零填充,对key进行零填充,循环遍历key以及它们的任意组合,但似乎没有任何效果。这是我的代码:这是输出:test.php:13:string(12)"5z0q3xNnokw="test.php:14:string(12)"1zyqavq7sCk=" 最佳答

十六进制的 PHP SSL 证书序列号

我需要显示有关序列号的SSL证书信息。当我使用$cert=file_get_contents('mycert.crt');$data=openssl_x509_parse($cert,true);$data['serialNumber']我喜欢-5573199485241205751但是当我运行命令时opensslx509-in'mycert.crt'-noout-serial我收到序列号=B2A80498A3CEDC09可以用PHP接收吗?谢谢。 最佳答案 您可能正在接收字节数组形式的序列号。将这些字节转换为十六进制,您应该使用o

php - 如何在 PHP 中创建数字证书并导出到 .p12 文件?

如何在PHP中创建数字证书并导出到.p12文件?我希望.p12文件包含私钥。并且还想检查key对是否已经发布(登录数据库)。我找到了一个名为“openssl_pkcs12_export_to_file”的函数,但不知道从哪里开始。看来我首先需要一个X509证书和一个私钥。 最佳答案 ";var_dump($Var);echo"";}functioncheck_errors(){echo"";$Count=0;while(($e=openssl_error_string())!==false){echo$e."";$Count++;}

php - 为什么我不能使用 openssl_encrypt?

我正在尝试调用openssl_encrypt在我客户的Web服务器上,我收到一个fatalerrorUnknownfunction:openssl_encrypt()。我认为要求是PHP5.3.0及更高版本?通过phpinfo()dump的外观服务器正在运行5.3.3。什么给了? 最佳答案 要使用openssl_函数,您必须a)有OpenSSLinstalled,和b)构建支持OpenSSL的PHP。查看PHPOpenSSLdocs.TousePHP'sOpenSSLsupportyoumustalsocompilePHP--wit

php - 如何为 openssl_private_decrypt() 提供私钥

我已经用我的公钥加密了一些值。但是我不能用我的私钥解密它。我的代码有问题吗?这是我的脚本: 最佳答案 关于openssl_private_decrypt()的第一条评论你可以找到一个例子。在此示例中,您可以看到key参数是方法openssl_get_privatekey()的结果,它是openssl_pkey_get_private()的别名。.openssl_pkey_get_private()的手册说key可以是以下之一:格式为file://path/to/file.pem的字符串。命名文件必须包含PEM编码的证书/私钥(它可能

php - openssl_csr_sign 返回 false 无法获取证书

因此,我尝试使用PHP和Openssl创建自己的CA(证书颁发机构)。我尝试创建用户CSR并签名。functionaddcsr(){$dn=array("countryName"=>$_POST['CountryName'],"stateOrProvinceName"=>$_POST['StateOrProvince'],"localityName"=>$_POST['LocalityName'],"organizationName"=>$_POST['OrganizationalName'],"organizationalUnitName"=>$_POST['Organization

php - 如何使 openssl_encrypt 将输入填充到所需的 block 大小?

如果我手动将字符串填充到32的长度,我的代码就可以工作。我的问题是:有没有办法让openSSL填充数据,还是我总是必须这样做?工作:openssl_encrypt("mybabaisovertheocean1111111",'AES-256-CBC',$MY_SECRET_KEY,OPENSSL_RAW_DATA|OPENSSL_ZERO_PADDING,$MY_IV);不工作:openssl_encrypt("mybabaisovertheocean",'AES-256-CBC',$MY_SECRET_KEY,OPENSSL_RAW_DATA|OPENSSL_ZERO_PADDING